//创建XMLHTTP对象

function createXMLHttpRequest()
{
  var xmlHttp = null;
  try{
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  catch(e)
  {
    try{
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
      try{
        xmlHttp = new XMLHttpRequest();
      }catch(e){
      }
    }
  }
  return xmlHttp;
}

//请求链接
//url: 请求地址
//fun：回调函数
function startRequest(url, fun,xmlHttp)
{
  xmlHttp.onreadystatechange  =  fun;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

//获得xml子节点
//father：父节点
//name：子节点名称
//如果获得则返回节点，没有则返回null
function getXmlChild(father, name)
{
  var es = father.getElementsByTagName(name);
  if(es.length == 0)
    return null;
  else
    return es[0];
}

String.prototype.trim　= function()
{
  // 用正则表达式将前后空格
  // 用空字符串替代。
  var t = this.replace(/(^\s*)|(\s*$)/g, "");
  return t.replace(/(^　*)|(　*$)/g, "");
}

//获得xml节点值
//father：父节点
//name：子节点名称
//defaultvalue：默认值
//如果获得则返回节点值，没有则返回defaultvalue
function getXmlData(father, name, defaultvalue)
{
  var es = father.getElementsByTagName(name);
  if(es.length == 0)
    return defaultvalue;
  else if(es[0].firstChild == null)
    return defaultvalue;
  else
  {
    for(var i=0;i<es[0].childNodes.length;i++){
      var node = es[0].childNodes[i];
      if(node.nodeValue != null && node.nodeValue.trim() !="")
      {
        return node.nodeValue;
      }
    }
    return defaultvalue;
  }
}



//把"转换为&quot;
function escapeForValue(str)
{
  return str.replace(/\"/g, "&quot;");
}

//用来实现文章的计数
function getClickTimes(newsid, owner,type,randomid) {
  var url = '/system/resource/code/news/click/clicktimes.jsp';
  if(!type) type="wbnews";
  if(!randomid)
  {
    randomid="n";
  }else
  {
    randomid="n"+randomid;
  }
  var xmlHttp = createXMLHttpRequest();
  var url = url+"?wbnewsid="+newsid+"&owner="+owner+"&type="+type+"&randomid="+randomid;
  xmlHttp.open("GET", url, true);
  xmlHttp.onreadystatechange = function(){onGetClickTimes(xmlHttp);};
  xmlHttp.send(null);
}
function _getBatchClickTimes(newsid, owner,type,randomid) {
  var url = '/system/resource/code/news/click/batchclicktimes.jsp';
  if(!type) type="wbnews";
  if(!randomid)
  {
    randomid="n";
  }else
  {
    randomid="n"+randomid;
  }
  var wbnewsids = newsid.split(",");

  var isshow = false;
  for(var i = 0; i < wbnewsids.length; i++)
  {
    var obj = document.getElementById(randomid+wbnewsids[i]);
    if(obj != null)
      isshow = true;
  }
  if(isshow)
  {
    var xmlHttp = createXMLHttpRequest();
    var url = url+"?wbnewsid="+newsid+"&owner="+owner+"&type="+type+"&randomid="+randomid;
    xmlHttp.open("GET", url, true);
    xmlHttp.onreadystatechange = function(){_onGetBatchClickTimes(xmlHttp);};
    xmlHttp.send(null);
  }
}

//用来实现文章的计数
function _onGetBatchClickTimes(originalRequest)
{
  if(originalRequest.readyState == 4 && originalRequest.status == 200)
  {
    var str = originalRequest.responseText;
    var json = eval("("+str+")");
    for(var i = 0; json != null && i < (json.length?json.length:1);i++)
    {
      var objid =json.length?(json[i].randomid+json[i].wbnewsid):(json.randomid+json.wbnewsid);
      var spanobj = document.getElementsByName(objid);
      if(spanobj.length > 0)
      {
        for(var j=0; j<spanobj.length;j++)
        {
          spanobj[j].innerHTML = json[i].clicktime;
        }
      }
    }
  }
}
//用来实现文章的计数
function onGetClickTimes(originalRequest)
{
  if(originalRequest.readyState == 4 && originalRequest.status == 200)
  {
    var str = originalRequest.responseText;
    var json = eval("("+str+")");
    for(var i = 0; json != null && i < (json.length?json.length:1);i++)
    {
      var objid = json.length?(json[i].randomid+json[i].wbnewsid):(json.randomid+json.wbnewsid);
      var objs = document.getElementsByTagName("span");
      if(objs.length > 0)
      {
        for(var j=0; j<objs.length;j++)
        {
          if(objid==objs[j].id)
            objs[j].innerHTML = json.length?json[i].wbshowtimes:json.wbshowtimes;
        }
      }
    }
  }
}
function addClickTimes(urlid,owner,type){
  var url = '/system/resource/code/news/click/addclicktimes.jsp';
  var xmlHttp = createXMLHttpRequest();
  var url = url+"?wburlid="+urlid+"&owner="+owner+"&type="+type;
  xmlHttp.open("GET", url, true);
  xmlHttp.onreadystatechange = function(){};
  xmlHttp.send(null);
}
loadXML = function(xmlString){
  var xmlDoc=null;
  //判断浏览器的类型
  //支持IE浏览器
  if(!window.DOMParser && window.ActiveXObject){   //window.DOMParser 判断是否是非ie浏览器
    var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM'];
    for(var i=0;i<xmlDomVersions.length;i++){
      try{
        xmlDoc = new ActiveXObject(xmlDomVersions[i]);
        xmlDoc.async = false;
        xmlDoc.loadXML(xmlString); //loadXML方法载入xml字符串
        break;
      }catch(e){
      }
    }
  }
  //支持Mozilla浏览器
  else if(window.DOMParser && document.implementation && document.implementation.createDocument){
    try{
      /* DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。
       * 要使用 DOMParser，使用不带参数的构造函数来实例化它，然后调用其 parseFromString() 方法
       * parseFromString(text, contentType) 参数text:要解析的 XML 标记 参数contentType文本的内容类型
       * 可能是 "text/xml" 、"application/xml" 或 "application/xhtml+xml" 中的一个。注意，不支持 "text/html"。
       */
      domParser = new  DOMParser();
      xmlDoc = domParser.parseFromString(xmlString, 'text/xml');
    }catch(e){
    }
  }
  else{
    return null;
  }

  return xmlDoc;
}
